Да, вы, вероятно, хотите, чтобы один (и) из STDIN. Может быть больше одного.
Если вы не хотите конвертировать свой скрипт, вы можете сделать
test -z "$1" && while read a b c ; do "$0" "$a" "$b" $c" ; done
вместо этого, чтобы он обрабатывал STDIN, выполняющий self с вводом в качестве аргументов.