How to read a texture array that is bound to FBO's color attachment

Sorry,I could not find much information on this.

I have a FBO that has a texture array of size 4 that is attached to its color attachment point. Similarly there is another texture array of size 4 attached to the depth attachment point.

After I render to this FBO, I want to read from the 2nd layer of the texture array into a CPU buffer. How do I do this?

I know, if there was a simple 2D texture instead of a texture array bound to this FBO, I would have simply done:

glReadBuffer(GL_COLOR_ATTACHMENT0);
glReadPixels(…

But how do I do in case of 2D array bound to FBO? Can we tweak glReadPixels to read a particular layer?

You use glReadBuffer to choose the attachment point which you read from. Each attachment point can only have one layer of the array bound.