Você precisa de opções -r ou --no-run-if-empty .
Tenha em mente que esse comportamento em particular é difícil de criar em várias plataformas.
As versões BSD de xargs são executadas com -r por padrão. A versão GNU precisa disso. A versão do FreeBSD de xargs ignora o sinal -r para compatibilidade com o GNU. A versão do Mac OS X nem aceita o sinalizador e lança um erro illegal option .
Você pode optar por usar uma detecção de sistema operacional baseada em $OSTYPE para escrever um script entre plataformas.
Melhor ainda, tente detectar o comportamento de xargs em si. Execute-o com -r e se isso falhar (código de status > 0), execute-o sem -r .