If, for example, I want to draw a cube using VBOs, can I use one VBO to hold the coordinates for the 8 vertices, and another one as an index array, to specify the order in which the vertices are drawn?

If it's possible I'd appreciate some help on the matter, or a link to good tutorial you may know on the subject.

where index_type is something like GL_UNSIGNED_SHORT, depending on what kind of data your index buffer contains.

This asumes you have created your two buffers and filled them with data already, and are using the builtin glsl attributes or fixed function pipeline. If you have specified your own attribs in the vertex program you will need to call

glBindAttribLocation(program_id, 0 /*index*/, "position");

before linking the program to register position as attrib 0, and then call