sh
- o que significa que sua função também pode ser um script. Mas se você ainda estiver interessado:
fn() { sh -c "$(cat)" arg0 "$@" ; } <<\FNDEF
echo "My argv0 is $0 and my positionals are..."
printf %s\n "$@"
#END
FNDEF
fn arg1 arg2 arg3
###OUTPUT###
My argv0 is arg0 and my positionals are...
arg1
arg2
arg3
Não é muito útil, no entanto, não acho.