Cannot correctly render sky box

I want to render a skybox with the following cubemap:

I defined a cube with the following code:


const float R = 50.0;
GLfloat vSkyBox[] = {R, -R, R, R, -R, -R, R, R, R, R, R, -R,
		-R, -R, -R, -R, -R, R, -R, R, -R, -R, R, R,
		-R, R, R, R, R, R, -R, R, -R, R, R, -R,
		R, -R, R, -R, -R, R, R, -R, -R, -R, -R, -R,
		-R, -R, R, R, -R, R, -R, R, R, R, R, R,
		R, -R, -R, -R, -R, -R, R, R, -R, -R, R, -R
                };

which is a cube centered at the origin with the edge length 100.

The draw calls are as follows:


void CubeDraw(void){
	glBindVertexArray(cubeVao);
	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
	glDrawArrays(GL_TRIANGLE_STRIP, 4, 4);
	glDrawArrays(GL_TRIANGLE_STRIP, 8, 4);
	glDrawArrays(GL_TRIANGLE_STRIP, 12, 4);
	glDrawArrays(GL_TRIANGLE_STRIP, 16, 4);
	glDrawArrays(GL_TRIANGLE_STRIP, 20, 4);
	glBindVertexArray(0);
}

And my vertex and fragment shader:


#version 130

in vec4 vVertex;
uniform mat4   mvpMatrix;  // Transformation matrix

// Texture Coordinate to fragment program
out vec3 vVaryingTexCoord;

void main(void) 
    {
    // Pass on the texture coordinates 
    //vVaryingTexCoord = normalize(vVertex.xyz);
    vVaryingTexCoord = vVertex.xyz/50.0 * 0.5 + vec3(0.5, 0.5, 0.5);

    gl_Position = mvpMatrix * vVertex;
    }


#version 130

out vec4 vFragColor;

uniform samplerCube  cubeMap;

in vec3 vVaryingTexCoord;

void main(void)
    { 
    vFragColor = texture(cubeMap, vVaryingTexCoord);
    }

However, a snapshot from my program is like:

And another one taken from inside of the cube:

Where does the error comes from?