find . -print0 | grep --null 'FooBar' | xargs -0 ...
No sé si grep admite --null , ni si xargs admite -0 , en Leopard, pero en GNU está todo bien.
Puedes combinar todo eso en un solo find comando:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
Esto manejará nombres de archivos y directorios con espacios en ellos. Puedes usar -name para obtener resultados sensibles a mayúsculas y minúsculas.
Nota:El -- indicador pasado a cp evita que procese archivos que comienzan con - como opciones.