hold is an array of char, but it is unitialized. The contents are up for grabs.
word is a pointer pointing to an array of chars allocated on the heap, also unitiailzed.
The first command, strcpy(hold, word); should be the one you want. The others should be syntax errors. However, because word is unintialized, there are things you need to consider.
strcpy() copies until it reaches a null character '\n', and then stops copying. If the first character of word is the null character, only 1 char is copied.
strcpy will not stop copying until it reaches a null character. If all of word is non-null characters, strcpy() will very silently continue copying from beyond the limits of word, and more importantly into beyond the limits of hold. This is dangerous. To protect against buffer overruns, use strncpy instead.