Yes. If first base is occupied the runner can only advance if there are two outs. If only one out or no outs the batter is automatically out. I have always thought this was a weird rule. Strike out is a strike out to me.
6.09
The batter becomes a runner when —
(a) He hits a fair ball;
(b) The third strike called by the umpire is not caught, providing (1) first base is unoccupied, or (2) first base is occupied with two out;
Rule 6.09(b) Comment: A batter who does not realize his situation on a third strike not caught, and who is not in the process of running to first base, shall be declared out once he leaves the dirt circle surrounding home plate.
I don't have the full history, but it was explained to me that the rule is like the infield fly rule. It is there to keep the catcher from intentionally dropping the third strike and throwing to second and then to first to get a double play. The runner on first can't be forced to run unless there is only one out left in the inning.