Como Mat já disse, no caso geral você deve estar ciente do fato de que todo byte pode estar em um nome de arquivo, exceto o caracter NUL (pois delimita o final da string ) e / (como ele delita elementos de caminho). Então, seu xargs exemplo deve ser (em um sistema GNU)
find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
Equivalente é um -exec no achado, mas com um + em vez do \; .
find /tmp -name core -type f -exec /bin/rm -f {} +
Esta versão não chama /bin/rm para cada arquivo, mas agrupa os argumentos, assim como xargs faz.