in reply to Command Line Arg contains Variable and more

You could also create environment variables that the shell will be happy to interpolate for you.

$ perl -e'$ENV{host}="localhost"; system $ARGV[0]' 'echo $host' localhost
The above is basically the same as
$ host=localhost sh -c 'echo $host' localhost