shred multiple options

I've created a wxpython gui for the shred command. I can successfully mix and match all the shred options except two: -size and --random-source. (Man page definitions below). -size and --random-source seem to only work when they are used as the sole option passed.

For example,

I can zero a file fine with this:

shred -z mySecretFile.txt

I can use a random source fine with this:

shred --random-source=myRandomData mySecretFile.txt

But, if I want to do both:

shred -z --random-source=myRandomData mySecretFile.txt

or, zero and use the size option

shred -z --size=1000 mySecretFile.txt

shred with not perform what I'm intending it to do.

Anyone know the syntax necessary to use -size and -random-source options along with the others?

From the man page:

-f, --force
              change permissions to allow writing if necessary

       -n, --iterations=N
              Overwrite N times instead of the default (25)

       --random-source=FILE
              get random bytes from FILE (default /dev/urandom)

       -s, --size=N
              shred this many bytes (suffixes like K, M, G accepted)

       -u, --remove
              truncate and remove file after overwriting

       -v, --verbose
              show progress

       -x, --exact
              do not round file sizes up to the next full block;

              this is the default for non-regular files

       -z, --zero
              add a final overwrite with zeros to hide shredding