Você não usa um loop while.
parallel "sortstuff.sh -a {} > sortedstuff-{}" <live_hosts
Observe que isso não funcionará se você tiver caminhos no seu live_hosts (por exemplo, /some/dir/file ), pois ele se expandirá para sortstuff.sh -a /some/dir/file > sortedstuff-/some/dir/file (resultando em no such file or directory ); para esses casos, use {//} e {/} (consulte gnu-parallel manual para obter detalhes):
parallel "sortstuff.sh -a {} > {//}/sortedstuff-{/}" <live_hosts