Как отмечалось в комментариях, вы никогда не выделяли copy
, поэтому вы, по сути, пишете в нераспределенное пространство, что приведет к неопределенному поведению (например, на моем компьютере этот код просто segfaults).
На самом деле вам даже не нужно копировать строку.Вы можете просто указать copy
на первый символ после пробела:
char *copy = strchr(sentence, ' ');
if (copy != NULL) {
copy++;
printf("COPY %s\n", copy);
}