executes an external program, with stdin and stdout of that program optionally going to/from strings
args - an array of command line arguments to pass (may be empty or null to pass nothing)
input - a string that contains the data pass to standard input of the program (null is no override)
output - a pointer to a string that will receive standard output from the program (null is no override)
environment - a string of additional environment variables to send (null is none) [NOT YET IMPLEMENTED]
executes an external program, with stdin and stdout of that program optionally going to/from strings
args - an array of command line arguments to pass (may be empty or null to pass nothing) input - a string that contains the data pass to standard input of the program (null is no override) output - a pointer to a string that will receive standard output from the program (null is no override) environment - a string of additional environment variables to send (null is none) [NOT YET IMPLEMENTED]
returns return value of program ran
throws exceptions on error