Custom subprocess environment lists

We need a way to pass in a custom list of environment variables to subprocesses.  Right now subprocesses always inherit the environment of the calling process (which should still be a possibility).