Analice la variable $ PATH y guarde los nombres de directorio en una matriz de cadenas

Quiero analizar la variable $ PATH de Linux y luego guardar los nombres de directorio que se separan con ':' en una matriz de cadenas.

Sé que es una tarea simple, pero estoy atrapado y cualquier ayuda sería buena.

Mi código hasta ahora es algo como esto, pero algo no está bien.

char **array;
char *path_string;
char *path_var = getenv("PATH");
int size_of_path_var = strlen(path_var);

path_string = strtok(path_var, ":");
while (path_string != NULL) {
    ss = strlen(path_string)
    array[i] = (char *)malloc(ss + 1);
    array[i] = path_string; //this is actually all i want to do for every path
    i++;
    path_string = strtok(NULL, ":");
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta