title: When can argv[0] have null?
body: <p>What I have understand about passing arguments to main() from command line is that argc has a minimum value of 1 and argv[0] will always have the program name with its path in it.</p>
  
  <p>If arguments are provided at the command line, then argc will have a value greater than one and argv<a href="http://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html" rel="noreferrer">1</a> to argv[argc-1] will have those arguments.</p>
  
  <p>Now a paragraph at <a href="http://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html" rel="noreferrer">this link</a> says that</p>
  
  <blockquote>
    <p>argv[0] will be a string containing the program's name <strong>or a null string</strong> if that is not available.</p>
  </blockquote>
  
  <p>Now, how and when can argv[0] have null string? I mean program name with its path will always be available so when can it be null? </p>
  
  <p>Writer says that "if that is not available" but when and how it is possible that program name will not be available?</p>