The code was ported from Apache Ant and extensively tested on various platforms. So there is no reason not to use it and it is very likely better than any home-grown library.
It is recommended to use CommandLine.addArgument() instead of CommandLine.parse(). Using CommandLine.parse() the implementation tries to figure out the correct quoting using your arguments and file names containing spaces. With CommandLine.addArgument() you can enable/disable quoting depending on your requirements. Having said that this is the recommended approach using Ant anyway.
This functionality is largely depend on the operating system - on Unix it works mostly and under Windows not at all (see Bug 4770092). In terms of stability and cross-platform support try to start your applications directly and avoid various wrapper scripts.
Well - one out of 55 regression tests fails. The EnvironmentUtilTest.testGetProcEnvironment() test fails because it detects no environment variables for the current process but there must be one since we require JAVA_HOME to be set. Not sure if this is a plain bug in java-gcj-4.2.1 or requires a work around in commons-exec
Please check if the shell scripts under "./src/test/script" are executable - assuming that they are not executable the "testExecute*" and "testExecuteAsync*" test will fail. We try very hard to keep the executable bit but they have somehow the tendency to to be lost ...