Shellwords - это библиотека Ruby, которая обрабатывает подобные вещи, и это может быть выполнено примерно так:
[6] pry(main)> require 'shellwords'
false
[7] pry(main)> Shellwords.shellsplit %Q{ arg1 "arg2a arg2b"}
[
[0] "arg1",
[1] "arg2a arg2b"
]
Предварительное добавление их к массиву можно сделать так:
[13] pry(main)> my_argv = %w(foo bar) # create a sample array to illustrate
[
[0] "foo",
[1] "bar"
]
[18] pry(main)> my_argv.unshift(Shellwords.shellsplit %Q{ arg1 "arg2a arg2b"}).flatten!
[
[0] "arg1",
[1] "arg2a arg2b",
[2] "foo",
[3] "bar"
]