The dynamic linker is responsible for loading dynamically linked programs and their dependencies (in the form of shared objects). The dynamic linker in the GNU C Library also supports loading shared objects (such as plugins) later at run time.
Dynamic linkers are sometimes called dynamic loaders.