### 37.1 Dynamic Linker Invocation ¶

When a dynamically linked program starts, the operating system automatically loads the dynamic linker along with the program. The GNU C Library also supports invoking the dynamic linker explicitly to launch a program. This command uses the implied dynamic linker (also sometimes called the program interpreter):

    sh -c 'echo "Hello, world!"'

This command specifies the dynamic linker explicitly:

    ld.so /bin/sh -c 'echo "Hello, world!"'

Note that `ld.so` does not search the `PATH` environment variable, so the full file name of the executable needs to be specified.

The `ld.so` program supports various options. Options start ‘`--`’ and need to come before the program that is being launched. Some of the supported options are listed below.

`--list-diagnostics`

  Print system diagnostic information in a machine-readable format. See Dynamic Linker Diagnostics.