Do I need to copy command line arguments in assembly

I work with fasm but maybe this question doesn’t rely on assembly language version. Where is command line arguments string stored? Do I need to copy this string at program start or it is guaranteed to persist indefinitely? Can buffer overflows etc from my program overwrite original?

Source: Windows Questions