宿題で関数strcpyを自分で作らなければいけません。
自分で作ってみたのですが、うまくいきませんでした。

char *my_strcpy(char *s1, char *s2){
int i = 0;
while(s2[i] != '\0'){
s1[i] = *s2;
i++;
}
*s1 = '\0';
return s1;
}

どこをどう直せばいいのか教えてください。
お願いします。