почему не работает
find /tmp/ -ctime -1 -name x* | xargs mv ~/user/
а потому, что надо делать так
find /tmp/ -ctime -1 -name "x*" | xargs -I '{}' mv '{}' ~/user/
а подробнее вот
-I replace-str
Replace occurrences of replace-str in the initial-arguments with
names read from standard input. Also, unquoted blanks do not
terminate input items; instead the separator is the newline
character. Implies -x and -L 1.