Stephen Kitt wrote in https://unix.stackexchange.com/a/448943/674
ld.sois a shared ELF object, but it doesn’t require an interpreter (it
has no .interp entry); this is typical of libraries (shared
executables always require an interpreter; otherwise they’re static,
Is an ELF object file a "shared executable" if and only if it has an
.interp entry ?
What does "shared executables" mean? Is it the same as "shared libraries"?
Or does "shared executables" mean "partially linked executables"?
linux> gcc -o prog2l main2.c ./libvector.so
This creates an executable object ﬁle prog2l in a form that can be linked with
libvector.so at run time.
When the loader loads and runs the executable
prog2l, it loads the partially
prog2l, using the techniques discussed in Section 7.9. Next, it
.interpsection, which contains the path name of
the dynamic linker, which is itself a shared object (e.g.,