Поздний ответ, но, возможно, кто-то найдет его полезным.
У меня была такая же проблема. Мое приложение работает в OSGi, но у меня есть внешние интерфейсы, которым я должен соответствовать, что подразумевает чтение аргументов командной строки.
Ключ к этому определен в новой спецификации OSGi 4.2, а именно Запуск платформы. Вы можете прочитать об этом в спецификации черновика (см. Draft на www.osgi.org) в разделе «Уровень жизненного цикла».
Это стандартный способ запуска платформы OSGi (любая реализация, поддерживающая OSGi 4.2) из автономного Java-приложения. Отличная вещь заключается в том, что вам не нужно знать, какую реализацию вы запускаете (Felix, Equinox, ...), пока она находится в CLASSPATH.
Таким образом, приложение запуска запускает чтение аргументов командной строки, создает и запускает среду OSGi и передает эти аргументы в ваш пакет (любым удобным для вас способом). То, что вы получаете в приложении запуска, - это контекст среды, из которой вы можете общаться с вашими пакетами.
Начиная с Equinox 3.5M6 (думаю, по крайней мере, M6) это поддерживается. Последняя версия Apache Felix также поддерживает это.