First of all, Christy Lee is correct-- whenever he throws an unsafe item, you take it away. I would remove it and name it's purpose. "Bottles are for drinking.... here, you can throw this" and give him something safe that he CAN throw, like a cloth ball. If you don't have a cloth ball, roll up a pair of socks= cloth ball instantly. Give this to him. Every single time, remove the item, replace it with the cloth ball. Also, give him another target to throw AT, like a box or basket. You can model this for him, "Ball goes in the basket. Can you put the ball in the basket."
Here's the other thing- now that you have a soft toy and a safe target, you remove the ball every time he throws it at a person. "Oh, balls are for the basket. All done for now." Let him be without the ball for a few minutes, then try it again, modeling "ball goes in the basket" and then giving him a turn. If he throws the soft ball AT you again, remove it again. The idea here is to teach him what is appropriate to throw and where.
It is important that we keep the language as simple as possible. I always try to use words for what they CAN do, to keep their mind positively directed. When we say "Don't throw", they don't understand these negative statements and continue to fixate on *throwing* because that is the word we are using. Avoid complicated explanations. The less words, the more positively directed, the better.
If this happens in the car, just remove all the toys from the area he's in. This is too dangerous in the car, just "throwing means toys go bye-bye". They need to learn that in the car, there are no second chances.