start.shif doesn't exist
LD_PRELOADis an optional environmental variable containing one or more paths to shared libraries, or shared objects, that the loader will load before any other shared library including the C runtime library.
gcc -fPIC -shared -nostartfiles -o /tmp/preload.so preload.c
LD_PRELOADenvironment variable to the full path of the new shared object:
sudo LD_PRELOAD=/tmp/preload.so program-name-here
LD_LIBRARY_PATHprovides a list of directories where shared libraries are searched for first.
lddagainst the any program that you can execute as sudo (sudo -l) to see which shared libraries are used by the program:
gcc -o /tmp/libcrypt.so.1 -shared -fPIC library_path.c
sudo LD_LIBRARY_PATH=/tmp program-name-here