Hallo Zusammen

Ich baue gerade ein Command zusammen, der mir eine vordefinierte einzeilige Tabelle generiert.
Code:
\newcommand{\sOrder}[2]{
	\begin{tabular}{#1}
		\hline
		#2 \\
		\hline
	\end{tabular}
}
Folgender Aufruf compiliert und funktioniert.
Code:
\sOrder{|c|c|c|}{abc & def & efg}
Das ist mir allerdings noch zu kompliziert. Ich möchte den Befehl noch einfacher aufbauen. Dazu habe ich folgendes versucht:
Code:
\newcounter{bx}
\newcommand{\pOrder}[2]{
	\begin{tabular}{\forloop{bx}{0}{\value{bx} < #1}{|c}|}
		\hline
		#2 \\
		\hline
	\end{tabular}
}
Aufruf:
Code:
\pOrder{3}{abc & def & gch}
Das kompiliert allerdings nicht. Grund dafür ist, dass die Tabellenumgebung scheinbar die Schleife innerhalb ihres Parameters nicht erlaubt.

Weiss jemand von euch, wie ich das richtig machen muss, damit das klappt?