Where does Java's ProcessBuilder look to execute commands?
When I execute a command using ProcessBuilder , how does it know where to look for that command? Using this hack/trick I've modified my PATH variable (verified by inspecting processBuilder.environment() ) to be bad (empty, working dir, etc) but ProcessBuilder can still execute sort, echo, bash, etc. just fine. How is it doing this?! Note: My particular development environment is OSX but this code will also run on Red Hat Enterprise Linux. The documentation says [...] a command, a list of strings which signifies the external program file to be invoked and its arguments, if any. Which string