Your first picture is how a physics object will normally move if it’s ‘thrown’; that is, its orientation will remain fixed as it moves.
To get behavior like in your second picture, you’ll have to take extra steps to make it happen. I’ve never implemented this effect myself, so I can’t offer you a ‘sure-fire’ solution, but here are a few options:
Apply a ‘realistic’ force or torque to the object as it moves to simulate the forces that cause real-life objects (such as arrows) to change orientation as they fly through the air.
If you know about how long the ‘flight time’ will be, you could simply rotate the object directly as needed.
You could rotate the object each update (or fixed update) so that it’s aligned with its velocity. This might be the easiest and most effective solution, and is probably what I’d try first.
(Note that the above code could lead to problems if the object goes more or less straight up or down or if the velocity has small magnitude. If it can be guaranteed that those situations won’t occur though, the above should work.)