I have arbitrary orthogonal vectors float X[3], Y[3], Z[3];

where X is the vector that I want to extrude a polygon that is in Y, Z coordinates.

For example, I have a polygon (-.25,3; 2,3; 2,2.5; .25,2.5; .25,-2.5, 2,-2.5, 2,-3; -.25,-3)

which I want to extrude along the arbitrary (not global) X axis with a length L

The origin of this extrusion is at (x, y, z), where (x, y, z) are in global coordinates.

Presumably, all that I need is the appropriate glRotate command, but I can't figure out how to get that directly from the X, Y & Z vectors.