$perl -e 'open( my $x, "-|", "zsh", "-c", q{ctr=1;for i in "$@" ; do print "$ctr: $i"; ctr=$((ctr + 1)); done}, "--", qw(1 2 3 4), q{2>&1} ); print while <$x>; close( $x ); print "\n"' 1: 1 2: 2 3: 3 4: 4 5: 2>&1