Late answer, but maybe someone finds this helpful.
I had the same problem. My application runs on OSGi, but I have external interfaces that I need to execute, which involves reading command line arguments.
The key to this is what is defined in the new OSGi 4.2 specification, namely the launch of the Framework. You can read about this in the draft project (see Project at www.osgi.org) in the Life Cycle section.
This is the standard way to run the OSGi platform (any implementation that supports OSGi 4.2) from a stand-alone Java application. The main thing is that you do not need to know which implementation you are starting (Felix, Equinox, ...) if it is found in CLASSPATH.
This way, your application starts reading command line arguments, instantiates and runs the OSGi framework, and passes the arguments to your bundle (in whatever way you want). What you get in the launch application is the context for the structure from which you can communicate with your packages.
As of Equinox 3.5M6 (I think, well, at least M6) this is supported. The latest version of Apache Felix also supports this.
pakerfeldt
source share