in reply to arguments through another shell

I couldn't find the documentation that I recall reading about how $ENV{SHELL} is not used by Perl's system() and exec() and shouldn't be.

kicking off such as sh instead of ksh

I assume you mean something like:

system {"/bin/ksh"} "sh", "-c", $command
the "indirect object" syntax [no comma after the first argument, which must be a very simple expression (I think just a simple scalar variable or a bareword) so we have to put it inside {} in this case] tells Perl that you want to run "/bin/ksh" but set its argv[0] to "sh", probably so that is behaves in a "more compatible" manner.

        - tye (but my friends call me "Tye")