title: printf, ignoring excess arguments?
body: <p>I noticed today Bash <code>printf</code> has a <code>-v</code> option</p>
  
  <pre><code>-v var    assign the output to shell variable VAR rather than
            display it on the standard output
  </code></pre>
  
  <p>If I invoke like this it works</p>
  
  <pre><code>$ printf -v var "Hello world"
  
  $ printf "$var"
  Hello world
  </code></pre>
  
  <p>Coming from a pipe it does not work</p>
  
  <pre><code>$ grep "Hello world" test.txt | xargs printf -v var
  -vprintf: warning: ignoring excess arguments, starting with `var'
  
  $ grep "Hello world" test.txt | xargs printf -v var "%s"
  -vprintf: warning: ignoring excess arguments, starting with `var'
  </code></pre>