Your main work will be done in the display() function. In there, you will draw your bug’s arms and legs. I might suggest that you have separate functions like:
DrawBody(), DrawLeg(), DrawArm(), DrawAntenae()
Then you would do something like:
// Translate to the position of the body
// Translate to the position of the left arm
// Translate to the position of the right arm
// Do the same for the legs
Now, how you translate is up to you. You can use push and pop matrix operations on the modelview matrix in order to translate to the position of the arms relative to the body or, alternatively, relative to the world origin. My advice would be to do the translation of the arms/legs/antennae relative to the body of the bug. This way, if you move the body, then the rest of the bug’s parts move with it and you don’t have to calculate new positions for each thing attached to the body.
One last thing, the thing you have to remember about drawing objects using the aux drawing functions (like auxWireCube) is that they draw things so that the center of the object is at 0,0,0 (in local coordinates). In other words, if you have the modelview matrix as the identity and issue a AuxWireCube(1.0) call, then the resulting cube has vertices:
(0.5, 0.5, 0.5)
(0.5, -0.5, 0.5)
(-0.5, -0.5, 0.5)
(-0.5, 0.5, 0.5)
(0.5, 0.5, -0.5)
(0.5, -0.5, -0.5)
(-0.5, -0.5, -0.5)
(-0.5, 0.5, -0.5)
You really need to think of things in “relative” positions rather than absolute positions.
I hope this helps. Good luck on your project.