To load a bundle programmatically, use the BundleContext APIs:
public Bundle installBundle(String);
public Bundle installBundle(String, InputStream);
Both APIs return a Bundle object, which you'll want to hold onto if you
wish to be able to stop it at some time, but this is not absolutely
Generally this is done by installing/starting a bundle which installs the
rest of your bundles. This is what Eclipse does with the
org.eclipse.equinox.simpleconfigurator bundle. This bundle understands the
mete-data managed by the p2 management system in Equinox. But you don't
have to use p2.
You could use Pax Runner (http://wiki.ops4j.org/x/A4A6) which is aimed
to pull provisioning (start equinox with a set of bundles).
Unfortunately I'm in the process of (re)writing the user guide so the
information about usage is not very clear but stay tuned as it will
improve day by day.
HTH
On