Add explicit null byte check in internal/command.New
Null bytes in command arguments get caught by the Go standard library already so this is not a security issue. However, the error you get from the stdlib is a bit cryptic.
This change adds a check in internal/command.New which will create an error that shows the bad argument using Go's %q
format string (which will print the zero byte as \x00
).