What is the difference between LD_PRELOAD_PATH and LD_LIBRARY_PATH?
I understand what they do, but not the particulars of how they differ.
From
http://en.wikipedia.org/wiki/Dynamic_linker
The dynamic linker can be influenced into modifying its behavior
during either the program’s execution or the program’s linking.
Examples of this can be seen in the run-time linker manual pages for
various Unix-like systems. A typical modification of
this behavior is the use of the LD_LIBRARY_PATH and LD_PRELOAD
environment variables. These variables adjust the runtime linking
process by searching for shared libraries at alternate locations and
by forcibly loading and linking libraries that would otherwise not be,
respectively.
In particular, I am interested in the differences in Linux which has both LD_PRELOAD_PATH and LD_LIBRARY_PATH:
https://linuxgazette.net/issue48/tag/48.html
Update: The author of this 1999 Linux Gazette article notes in his 2013 comment below the accepted answer that LD_PRELOAD_PATH does not in fact exist.
LD_PRELOAD(notLD_PRELOAD_PATH) is a list of specific libraries (files) to be loaded before any other libraries, whether the program wants it or not.LD_LIBRARY_PATHis a list of directories to search when loading libraries that would have been loaded anyway. On linux you can readman ld.sofor more information about these and other environment variables that affect the dynamic linker.