You can use these two utilities in linux, strace to trace system calls and ftrace to trace the function,system calls which are called within the kernel.
to run a strace on ls,
1 | strace -o output.log ls /etc |
so,
1 | execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0 |
the system call execve() is evoked and it executes the command ls and based on the type of executable it will look for the program ld.so.* to load the shared libraries which are needed by the program.
http://www.kernel.org/doc/man-pages/online/pages/man2/execve.2.html