Apenas encontrei uma resposta divertida para essa, embora sua utilidade dependa do comando que você está tentando executar.
Se você estiver usando o xargs para montar basicamente uma lista de comandos, você pode obter esse comportamento dizendo xargs para ecoar o comando e, em seguida, canalizando para o bash.
Por exemplo, se você estiver tentando excluir uma lista de coisas que podem ou não existir:
# presume this will fail in a similar way to your command
cat things_to_delete | xargs -n1 delete_command_that_might_exit
# instead echo the commands and pipe to bash
cat things_to_delete | xargs -n1 echo delete_command_that_might_exit | bash
Isso funciona porque, primeiro, o xargs só está chamando echo, por isso não verá nenhum erro. Então, segundo, porque o comportamento padrão do bash continua a execução após uma declaração com falha.
Para ser mais específico sobre o meu caso, eu estava usando isso para remover um monte de versões antigas de aplicativos do AWS ElasticBeanstalk da seguinte forma:
aws elasticbeanstalk describe-application-versions --application-name myapp |\
jq -r '.ApplicationVersions | sort_by(.DateCreated) | .[0:-10] | .[].VersionLabel' |\
xargs -n1 \
echo aws elasticbeanstalk delete-application-version \
--delete-source-bundle --application-name myapp --version-label |\
bash