title: Setting the LD_PRELOAD environment variable for commands run without typing the full path
body: <p>I'm playing around with LD_PRELOAD and have produced a library that simply wraps puts() in a function that converts the string to be printed to uppercase before printing. I then export the LD_PRELOAD variable as so</p>
  
  <pre><code>$ export LD_PRELOAD=/home/adrian/test/myputs.so
  </code></pre>
  
  <p>Now the behaviour works as expected when running the command</p>
  
  <pre><code>$ /bin/pwd
  /HOME/ADRIAN/TEST
  </code></pre>
  
  <p>But it does not work when runing like this</p>
  
  <pre><code>$ pwd
  /home/adrian/test
  </code></pre>
  
  <p>What is the mechanism that's causing the LD_PRELOAD environment variable to be ignored in this case?</p>