codice:
char *appendBefore(char *strSrcBuffer, char *strToAppend)
{
    unsigned int iSrcBufferLen = 0;
    unsigned int iStrToAppendLen = 0;
    char *strOutBuffer = NULL;

    if ( NULL == strSrcBuffer) return NULL;
    if ( NULL == strToAppend) return NULL;

    iSrcBufferLen = strlen(strSrcBuffer);
    iStrToAppendLen = strlen(strToAppend);

    strOutBuffer = (char *)malloc((iSrcBufferLen + iStrToAppendLen + 1)*sizeof(char));
    if ( NULL == strOutBuffer ) return NULL;

    strcpy(strOutBuffer, strToAppend);
    strcpy(strOutBuffer+iStrToAppendLen, strSrcBuffer);
    strOutBuffer[iSrcBufferLen+iStrToAppendLen] = '\0';

    return strOutBuffer;
}

int main(void)
{
   char *slash = "/";
   char *tmp = "la mia stringa";
   
   char *result = appendBefore(tmp, slash);

}
hai provato con qualcosa di questo tipo?

ps. l'ho scritta al volo, potrebbe essermi sfuggito qualcosa.