Wrong - the right shall not be infringed by the Federal Government. Businesses can infringe all they want.
Technically, your reading of it is correct. I think any court is likely to say that you are right and I am wrong.
But I will say this:
Government ought to protect We The People from fraud and coercion. Our God-given rights should be protected by the government. The constitution is a document which limits government so that government cannot become too powerful while it "protects" us -- because then the solution becomes the problem.
The First Amendment specifically limits Congress. It says it right there: "Congress shall make no law ..."
But that's followed directly by the Second Amendment: "The right shall not be infringed ...". Clearly this is a universal protection, not a limit on Congress or on any other particular body. It blocks ANYONE from infringing on our God-given right to self-defense. The power of government (the courts) should ensure that NO ONE infringes the right.
Now, having ranted on that point a bit, I will admit once again that any court is likely to say that you are right and I am wrong.
The St. Louis Zoo is a political entity of the Government.
It is not a private business.
The taxpayer funded zoo ain’t a business.