Sorry for the long delay in getting back to you on this. I've been bashing my head against the desk and just now figured it out.
The box has a Vagrantfile. That file has 'config.vm.provision "shell', path: "run_at_start.sh"" in it. The Vagrant machine *also* has the same Vagrantfile. Because of the way that Vagrant pulls in the box's Vagrantfile after parsing its own, it now has two (identical) 'config.vm.provision "shell' lines and it decides that I meant to run it twice.
I could consider this a bug, but I can also see that "having two identical shell lines means run the command twice" is logical if you squint hard.
I have a solution for my use case: remove the shell line from the machine's Vagrantfile. Hopefully this doesn't burn other people or, if it does, that they can find this thread.
--Paul Hoffman