Error de sintaxis, inesperado

Estoy tratando de compilar código usando gcc y ejecutar el ejecutable, pero es un error de lanzamiento:

gcc somefile.c -o somefile

La compilación pasa con éxito. Pero, cuando intento ejecutarlo:

$sh somefile

En resultado de:Error de sintaxis, inesperado. Entre los archivos de salida, no veo somefile.o, pero en cambio, veo somefile.c ~

El contenido del archivo:

#include <stdio.h>
int main(int argc, char *argv[])
{
    printf("hi");
}

Contexto: Soy nuevo en la programación en Linux y quería comenzar con programas simples. Estoy ejecutando ubuntu 64 bit en una máquina virtual, con gcc, g ++, etc instalado. Después de eso, creé un archivo de muestra como se mencionó anteriormente ("somefile.c"), e intenté los pasos mencionados anteriormente, pero no pude ejecutar. Mi objetivo es compilar y ejecutar una muestra de código C o Cpp en ubuntu usando gcc o g ++. Por favor ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta