add proper quotations to variable references

Even if it would be crazy to have them and even if _you_ would never put
them, any variable with data coming from outside the script that is not
specifically sanitized should be assumed to contain spaces. Never, never
assume otherwise.
check for non-empty value to not make a mess if improperly launched
add hash-bang