The command itself doesn't see the outer quotes. The shell uses those to avoid wordsplitting, but doesn't let the command know they were there. So if you have:
./command foo bar "baz biz"
The command sees three args, foo, bar and baz biz with whitespace intact, but no quotes. Thus, if you need to actually send quotes, you can do that by wrapping the argument with the other kind of quote:
./command "foo'bar"
The command sees one arg: foo'bar. But if you need to send both kinds of quotes, you have a harder problem to solve. You can solve it with leaning toothpicks, quote-swapping or variables:
Quote swapping
Even though the shell uses quotes to avoid wordsplitting, if you put the quoted arguments next to each other without whitespace the command will see it as one word:
./command "foo""bar"
The command sees one arg: foobar. So if you use two different kinds of quotes:
./command 'foo"bar'"baz'quux"
The command sees one arg: foo"barbaz'quux.
Leaning toothpicks
There are two kinds of leaning toothpicks. One is really just quote swapping except you don't use quotes to wrap one of the …quotes.
./command 'foo"barbaz'\'quux
The command sees one arg: foo"barbaz'quux. The other is (hat tip: chepner) to use the special $'string'
form of word expansion, which allows ANSI C strings:
./command $'foo"barbaz\'quux'
The command sees one arg: foo"barbaz'quux.
Variables
doublequote=\" singlequote=\'
./command "foo${doublequote}barbaz${singlequote}quux"
The command sees one arg: foo"barbaz'quux.