Intuition says that C should shoot A first. Let's go through the game tree and in what situation does C become uncertain.

Let's denote the participants by A, B, and C. Let's write down the probability of C winning at the beginning of the game as P( __C__, B, A), where the identity of the remaining participants are listed as arguments of the function P( ), and the underlined C indicates that C has the first shot. If there are only two participants left, then we can write out the corresponding win percentages. Note that P( . ) always indicate the probability of C winning.

P( C, __B__ ) = ( 1-p_{b})p_{c}/[ 1 - (1 - p_{c})(1-p_{b}) ]

P( __C__, B ) = p_{c}/[ 1 - (1 - p_{c})(1-p_{b}) ]

P( __C__, A ) = p_{c}

P( C, __A__ ) = 0.

Now, we start off the the logic that A will always shoot the remaining person(s) with the highest hit probability. Therefore, B will always shoot the remaining participant with highest hit probability as well.

I drew out two game tree for two cases- one where C chooses to shoot B first and one where C shoots A first. The game trees are here

Combining the game trees above with the two-participant results in the beginning, we can write down the winning chances for C from the two strategies. Let W_{A} be the winning chance for C if he shoots A first, and let W_{B} be the winning chance if he shoot B first, the probabilities are

W_{B} = (1-p_{c})p_{c} p_{b}/[ 1 - (1 - p_{c})(1-p_{b}) ] + (1-p_{c}) (1-p_{b}) p_{c}

W_{A} = (1-p_{c})p_{c} p_{b}/[ 1 - (1 - p_{c})(1-p_{b}) ] + (1-p_{c}) (1-p_{b}) p_{c} + p_{c} p_{c} (1-p_{b})/[ 1 - (1 - p_{c})(1-p_{b}) ]

or

W_{A} = W_{B} + p_{c} p_{c} (1-p_{b})/[ 1 - (1 - p_{c})(1-p_{b}) ]

So, we see that shooting A first increases the winning probability by the amount p_{c} p_{c} (1-p_{b})/[ 1 - (1 - p_{c})(1-p_{b}) ]. Now, the only way to make C uncertain is to let p_{c} = 0, at which point his winning chance is the same regardless of who he shoots. But if his hitting probability is 0, he's screwed either way.