Fully escape interspersed null characters too (see #5)
Make use of printf safer, in case env var values contain escapes (see #5)
Can now single-quote format argument to printf
Explicitly double-quote args, so empty var values don't mess things up

Fixes #6
Tidier code for double-quoting printf args