There are several approaches how this can be done. Also the correct approach depends on whether you want to srore in list a string terminated with zero or the terminating zero has not be included in list.
If you want to include the terminating zero then you can initially define list as having string literal "name".
For example
char list[100] = "name";
size_t size = strlen( list );
If you want to place the string literal in list after its definition you can use either standard function strcpy or strcat
For example
char list[100];
size_t size = 0;
char *value = "name";
//...
strcpy( list + size, value );
size += strlen( value );
Or
char list[100];
size_t size = 0;
char *value = "name";
//...
list[size] = '\0' // if list already has the terminating zero you may remoce this statement
strcat( list, value );
size += strlen( value );
If you do not want to store the terminating zero then you should use function memcpy
For example
char list[100];
size_t size = 0;
char *value = "name";
//...
size_t n = strlen( value );
memcpy( list + size, value, n );
size += n;
And at last you can use a loop. For example
char list[100];
size_t size = 0;
char *value = "name";
//...
char *p = value;
while ( list[size++] = *p++ );
char value = "name";orchar *value = "name";