Parece que está bastante aceptado (Corominas lo recoge así en su diccionario etimológico) que el fruto del cocotero debe su nombre a cierto fantasma que aterra a los niños:
De coco2, porque la cáscara del fruto con sus tres agujeros semeja una cabeza con ojos y boca, como la de aquel fantasma infantil.
coco2
Del port. côco, fantasma que lleva una calabaza vacía, a modo de cabeza.
La palabra coco con el significado de "ser imaginario con que se mete miedo a los niños" o "gesto, mueca" se usa en español desde mediados del siglo XV, y en portugués al menos desde principios del mismo siglo. Antes de eso también se registra la palabra coco pero con otro significado:
coco3
Del lat. coccum, y este del gr. κόκκος kókkos.
- m. Zool. gorgojo (‖ insecto).
De hecho el primer diccionario que recoge la palabra es el de Percival de 1591:
Coco, a worme that eateth vines.
Pero me estoy desviando. Parece que la palabra coco entonces viene del portugués, pero ¿se sabe algo más acerca de su origen? Corominas dice simplemente que es una voz infantil de creación expresiva. ¿Hay alguna otra teoría?