Since you are trying to manipulate the color of the camera, I assume you are trying to pass a small array into the fragment shader (probably 3 or 4 integers).
Because there's probably only one camera with the same color for all the fragments, the easiest way to pass the data is using an uniform. In your fragment declare an uniform:
uniform vec4 cameraColor;
and then in your Java code, get the location of the uniform and pass the data to it (this is C++ code, Java code might be a bit different):
GLint uniColorLocation = glGetUniformLocation( shaderProgram, "cameraColor" );
glUniform4i( uniColorLocation, array[0], array[1], array[2], array[3] );
If you'd like to pass many colors into a fragment shader, you cold use the fragment attributes (ins) to pass the data. In Java code you would use calls such as glVertexAttribPointer and glBufferData to achieve this. Another option is to use texture data to pass information to the shaders. Here, a single texel could correspond to one object's camera color.