Calling C function with pointer of C strings works once but not twice

The command line parser is probably mutating the string you send to it, similar to what is happening here:

julia> x = "a=b"
"a=b"

julia> unsafe_store!(pointer(x), '\0', 2)
Ptr{UInt8} @0x00007fde495a0330

julia> x
"a\0b"