A nim game variant with pass move
You have to augment each pile with an extra bit which states if it has been passed or not. Then you can compute the Grundy function as usual. For example, here are some values:
$$
\DeclareMathOperator{\mex}{mex}
\newcommand{\yes}{\text{Yes}}
\newcommand{\no}{\text{No}}
G() = \mex(\emptyset) = 0 \\
G(1,\yes) = \mex(G()) = \mex(0) = 1 \\
G(1,\no) = \mex(G(),G(1,\yes)) = \mex(0,1) = 2 \\
G(2,\yes) = \mex(G(),G(1,\yes)) = \mex(0,1) = 2 \\
G(2,\no) = \mex(G(),G(1,\yes),G(2,\yes)) = \mex(0,1,2) = 3
$$
Here Yes means that the pile has been passed, and No that it hasn't been passed.

You mention that a recursive solution won't be efficient enough. In that case, I suggest trying to find a formula for the Grundy function. Here is a hint:


  A pile which has been passed behaves like a normal pile. A pile which has not been passed behaves like a pile which is one item larger.