Do a search for "when Runtime.exec() won't" on Google and you get the classic paper by Michael Daconta. He describes an example starting the JVM; you can probably adapt that to serve your present purposes. Also check the ProcessBuilder class which makes the collection of information from the Streams easier.
The short answer is sadly "no". By the time the JVM is running, it's too late to set java.library.path. You can change the system property, but the JVM won't ever pick up a new value. The only way to supply this parameter is as a startup option