command line with pass-through variable or alias
$ ENV='local' vagrant up
$ alias vagrant='ENV='\''local'\'' vagrant'
if ENV['ENV'] != 'local'
config.vm.provision :shell, path: "./scripts/stage_env.sh", :args => shared_dir, :privileged => true
else
config.vm.provision :shell, path: "./scripts/development_env.sh", :args => shared_dir, :privileged => true
end
A couple of alternatives I found were (I didn't test these) if you'd prefer to drop it into the vagrantfile.
But I think I like the suggestion here the most "Updating .bashrc and environment variables during Vagrant provisioning" for adding more than 1 environment variable to vagrant.