Diretórios com nomes que contêm espaços, visíveis de /foo/bar e não de barfoo , são os prováveis culpados. xargs divide sua saída por espaços e também interpreta citações, barras invertidas e até mesmo o caractere _ - consulte manual para detalhes, portanto os espaços em branco nos nomes de arquivos ou diretórios fazem com que ele passe nomes de arquivos incompletos para grep .
Para contornar esse problema, use find -print0 em conjunto com xargs -0 , assim:
find . -print0 2>/dev/null | xargs -0 grep -i something_to_find 2>/dev/null
A opção -print0 informa find para separar nomes de arquivos com um caractere binário 0, que não pode aparecer em um nome de arquivo válido. A opção -0 correspondente diz à parte para usar o mesmo caractere que o separador e também para não interpretar citações e barras invertidas.