A página man [bash] diz: " -c string
Se a opção -c estiver presente, então os comandos serão lidos da string. Se houver argumentos após a string, eles serão atribuídos aos parâmetros posicionais, começando com $ 0. "- A chave é $ 0 ; isso significa que o nome do comando será o primeiro argumento.
seq 10 | xargs sh -c 'echo $@; echo $0' sh
1 2 3 4 5 6 7 8 9 10
sh