A developer wants to test a single program against a private build of a library in ~/testlib, without changing anything system-wide or affecting other users. What is the appropriate mechanism?

LPIC-1 Exam 101-500, objective 102. Linux installation and package management medium

Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.

It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.

The options

Not correct Add ~/testlib to /etc/ld.so.conf.d/ and run ldconfig

Wrong for the requirement. This works technically but is exactly the system-wide change the developer wanted to avoid, and it needs root.

Correct Set the LD_LIBRARY_PATH environment variable to ~/testlib for that program's invocation

Correct. LD_LIBRARY_PATH adds directories the dynamic linker searches ahead of the cached system paths, and because it is an environment variable its effect is limited to that process and its children.

Not correct Set the PATH environment variable to include ~/testlib

Wrong. PATH is searched by the shell for executables to run; the dynamic linker does not consult it when resolving shared libraries.

Not correct Run ldd with the library directory so it prefers the private build

Wrong. ldd only reports dependencies; it has no ability to change how future programs resolve libraries.

Why

LD_LIBRARY_PATH is a colon-separated list of directories the dynamic linker searches before the cache, which makes it the standard way to test or run software against non-system libraries per process. Because it can redirect a program to attacker-supplied libraries, the linker ignores it for set-user-ID and set-group-ID binaries, and leaving it set globally in a login profile is a well-known way to create confusing breakage.

Where this comes from

Cited
LPI exam objective 102.3
What it says
LD_LIBRARY_PATH and the locations of shared libraries.

Practise this

Reading one question is not practice. The trainer will draw a set from objective 102 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500