It is possible to read variables from ARGV and then remove them from it before proceeding to configuration phase. It feels icky to modify ARGV but I couldn't find any other way for command-line options.

This doesn't seem to work for me. I always get the error An invalid option was specified. Doing puts ARGV displays correct array after removal of extra custom arguments.
– majkinetorMar 9 '15 at 7:47

Same here, it does not work... I put a puts "#{ARGV}" line in vagrant/embedded/gems/gems/vagrant-1.7.2/lib/vagrant/plugin/v2/command.rb and it prints that line before the removal of the relevant args in the Vagrantfile, thus meaning that the removal is futile as the ARGV is passed to the validator that outputs An invalid option was specified before any operations can take place on ARGV.
– BogdanSorleaJul 20 '15 at 15:47