(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-e)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:common_objpfx)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [54]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_program_prefix_before_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [57]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:run_program_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$3')}
          spids: [60]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_program_prefix_after_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$4')}
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:objpfx)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$5')}
          spids: [66]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:malloc_trace)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$6')}
          spids: [69]
        )
      ]
    )
    (C {(mkdir)} {(-p)} {(${ Id.VSub_Name objpfx) (localedir/existing-locale/LC_MESSAGES)})
    (command.ForEach
      iter_name: f
      iter_words: [
        {(ADDRESS)}
        {(COLLATE)}
        {(CTYPE)}
        {(IDENTIFICATION)}
        {(MEASUREMENT)}
        {(MONETARY)}
        {(NAME)}
        {(NUMERIC)}
        {(PAPER)}
        {(TELEPHONE)}
        {(TIME)}
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(cp)} {(-f)} 
              {(${ Id.VSub_Name common_objpfx) (localedata/de_DE.UTF-8/LC_) 
                ($ Id.VSub_DollarName '$f')
              } {(${ Id.VSub_Name objpfx) (localedir/existing-locale)}
            )
          ]
        )
    )
    (C {(cp)} {(-f)} 
      {(${ Id.VSub_Name common_objpfx) (localedata/de_DE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES)} {(${ Id.VSub_Name objpfx) (localedir/existing-locale/LC_MESSAGES)}
    )
    (C {(mkdir)} {(-p)} {(${ Id.VSub_Name objpfx) (domaindir/existing-locale/LC_MESSAGES)})
    (C {(mkdir)} {(-p)} {(${ Id.VSub_Name objpfx) (domaindir/existing-locale/LC_TIME)})
    (C {(msgfmt)} {(-o)} 
      {(${ Id.VSub_Name objpfx) (domaindir/existing-locale/LC_MESSAGES/existing-domain.mo)} {(-f)} {(../po/de.po)}
    )
    (C {(msgfmt)} {(-o)} 
      {(${ Id.VSub_Name objpfx) (domaindir/existing-locale/LC_TIME/existing-time-domain.mo)} {(-f)} {(../po/de.po)}
    )
    (command.Simple
      words: [
        {(${ Id.VSub_Name test_program_prefix_before_env)}
        {(${ Id.VSub_Name run_program_env)}
        {(Id.Lit_VarLike 'MALLOC_TRACE=') ($ Id.VSub_DollarName '$malloc_trace')}
        {(Id.Lit_VarLike 'LOCPATH=') (${ Id.VSub_Name objpfx) (localedir) (Id.Lit_Other ':') 
          (${ Id.VSub_Name common_objpfx) (localedata)
        }
        {(${ Id.VSub_Name test_program_prefix_after_env)}
        {(${ Id.VSub_Name objpfx) (tst-gettext)}
        {(${ Id.VSub_Name objpfx) (domaindir)}
      ]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:251)
          fd: -1
          arg_word: {(${ Id.VSub_Name objpfx) (tst-gettext.out)}
        )
      ]
    )
    (command.ControlFlow
      token: (Token id:Id.ControlFlow_Exit val:exit span_id:264)
      arg_word: {($ Id.VSub_QMark '$?')}
    )
  ]
)