Reading Array/Stream of bytes in serial?..

  Serial.begin(9600);
  
  Serial.flush();

The call to Serial.flush() makes no sense. If you are using a version of the IDE prior to 1.0, the flush() method dumps all as-yet-unread data in the serial buffer. Nanoseconds after opening the serial port, do you really think that there is a possibility that there is unread data pending? If there really could be, why do you want to delete it?

If you are using 1.0 or later, the flush() method blocks until all buffered output data has been sent. You haven't sent anything, so the function does absolutely nothing.

Useless code is best deleted.

write(fd,pCom[0],8);     // write to arduino which is /dev/ttyS0..

pCom[0] is one element of the array. It is not 8 bytes long. Why are you telling write() that it is? Don't you really want to send the whole array, or at least the first 8 bytes of the array?